package activeMQ_helloworld;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.junit.Test;

import javax.jms.*;

/**
 * Created by Think on 2017/9/22.
 */
public class ActiveMQProducter {

    @Test
    public void testProduceMQ() throws JMSException {
        // 连接工厂
        // 使用默认用户名、密码、路径
        // 因为：底层实现：final String defaultURL = "tcp://" + DEFAULT_BROKER_HOST + ":" + DEFAULT_BROKER_PORT;
        // 所以：路径 tcp://host:61616
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory();
        Connection connection = connectionFactory.createConnection();
        //开启连接
        connection.start();
        // 建立会话
        /** 第一个参数，是否使用事务
         如果设置true，操作消息队列后，必须使用 session.commit();
         如果设置false，操作消息队列后，不使用session.commit();
         */
        Session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
        Queue queue = session.createQueue("helloworld");
        //创建生产者
        MessageProducer producer = session.createProducer(queue);
        //使用生产者生成消息
        for (int i = 0 ;i < 10 ;i++) {
            TextMessage textMessage = session.createTextMessage("你好,activeMQ"+i);
            producer.send(textMessage);
        }
        session.commit();
    }
}
